Hyperledger Fabric 介紹
簡介
Hyperledger Fabric 是Hyperledger 中的一個區塊鏈項目,與其他項目類似 Hyperledger Fabric 是一個提供分布式帳本解決方案的平台。Hyperledger Fabric 透過模組化架構支撐,並且具備保密性、可伸縮性、靈活性和可擴展性。Hyperledger Fabric 被設計成支持不同的模組組件直接插拔使用,並且能適應在經濟生態系統中錯綜複雜的各種場景。
特點
- MSP
Hyperledger Fabric 與其他區塊鏈系统最大的不同在於私有和許可。Hyperledger Fabric 通過 Membership Service Provider(MSP)来登記所有的成員。
- Channel
Hyperledger Fabric 提供了建立 channel 的功能,這允許參與者為交易新建一個獨立的帳本。當網路中的一些参與者是競爭對手時,這個功能變得極為重要。因為這些參與者並不希望所有的交易訊息都對網路中所有參與者公開。只有在同一個 channel 中的參與者,才會擁有該 channel 中的帳本,而其他不在此 channel 中的參與者則看不到這個帳本。
- Chaincode
Chaincode 是一段由 Go 語言撰寫(支持其他語言,如Java),並能實現預定義接口的程序。Chaincode 運行在一个受保護的 Docker 容器中,與背書節點的運行互相隔離。Chaincode 可通過應用提交的交易對帳本狀態初始化並進行管理。
- 背書策略
節點透過背書策略來確定一個交易是否被正確背書。當一個 peer 接收一個交易後,就會調用與該交易Chaincode 相關的 VSCC(Chaincode 實例化時指定的)作为交易驗證流程的一部分(還有RW版本驗證)来確定交易的有效性。因此,一個交易包含一個或多個來自背書節點的背書。
架構
- Client
client 端代表最終的用戶實體。它必須連接到一個 peer 節點以便與區塊鏈交互。client 端可以選擇連接任何 peer 節點。負責創建並調用交易。
- Peer
Peer 節點以區塊的形式從 orderer 服务接收有序狀態更新,維護狀態和帳本。
Peer 節點能附加一個特殊的背書節點角色,或背書者。背書節點的特殊功能是關於特殊 chaincode,存在於提交之前背書一个交易。每个 chaincode 可以指定一個背書策略,可以引用一组背書節點。策略定義一個有效交易背書的必要和充分條件(典型的是返回一组背書者簽名)。
- Orderer
Orderer 節點會將接受到的所有交易依據時間點進行排序,將其生成為區塊後廣播給所有的在同個 channel 的節點。